Desktop Apps

Nuklear (C/C++)

  • Nuklear

  • Written in C89 (ANSI C)

  • Single header library, ~18kLOC.

  • No dependencies (not even the standard library if not wanted)

GTK4 (C/C++)

  • GTK4

  • Retained-mode widgets

  • Used for:

    • GNOME.

    • Gimp.

      • Originally made for it.

    • Inkscape.

  • Supports C, JS, Perl, Python, Rust, Vala.

  • Cross-platform.

  • GTK4 Docs

  • GTK4 Source

  • libadwaita

    • Building blocks for modern GNOME applications

Qt (C++)

  • Qt group

  • Retained/declarative

  • Licensing:

    • Open-source Qt: free under LGPL and GPL licenses.

      • You can build a closed-source commercial application with LGPL Qt, but you have to comply with the LGPL requirements.

      • If you use Qt under GPL, your application generally has to comply with the GPL's copyleft requirements when distributed.

    • Commercial Qt: paid license, mainly for companies that need to avoid the obligations of the open-source licenses or need certain commercial features/support.

    • Some Qt modules have different licensing terms, so you need to check the specific module you're using.

  • Qt Creator (Qt IDE)

  • Qt Quick is specifically designed for dynamic/custom interfaces and provides its own visual canvas, UI types, animations, models and views.